package com.unitd.modules.configcenter.service.impl;

import com.unitd.frame.mybatis.core.service.impl.BaseServiceImpl;
import com.unitd.frame.mybatis.core.dao.IBaseDao;
import com.unitd.modules.configcenter.entity.AppConfigs;
import com.unitd.modules.configcenter.dao.IAppConfigsDao;
import com.unitd.modules.configcenter.service.IAppConfigsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @desc 应用配置信息管理表表Service接口
 * @filename AppConfigsServiceImpl.java
 * @copyright www.unitd.com
 * @author Hudan
 * @version 1.0
 * @date  2018-01-30
 */
@Service("appConfigsService")
public class AppConfigsServiceImpl extends BaseServiceImpl<AppConfigs, String> implements IAppConfigsService {

	@Autowired
	private IAppConfigsDao appConfigsDao;

	/**
	 * @return GenericDao实现类
	 * @desc 定义成抽象方法, 由子类实现, 完成dao的注入
	 */
	@Override
	public IBaseDao<AppConfigs, String> getDao() {
		return appConfigsDao;
	}

	/**
	 * @desc 获取全局配置信息
	 * @param env     所属应用环境
	 * @param version 配置信息版本
	 * @return AppConfigs
	 */
	@Override
	public AppConfigs findGlobalConfig(String env, String version) {
		return appConfigsDao.findGlobalConfig(env, version);
	}

	/**
	 * @desc 根据查询条件查询相应的应用配置信息
	 * @param params 查询条件
	 * @return List
	 */
	@Override
	public List<AppConfigs> findByQueryParams(Map<String, Object> params) {
		return appConfigsDao.findByQueryParams(params);
	}
}